#ifndef MOTIONPOINT_H
#define MOTIONPOINT_H

#include "Effects/RGBEffect.h"
#include "Curve/hsv.h"

class MotionPoint : public RGBEffect
{

public:
    MotionPoint();
    ~MotionPoint();

    //EFFECT_REGISTERER(ClassName(), CAT_SIMPLE, [](){return new MotionPoint;});

    static std::string const ClassName() {return "MotionPoint";}
    //void DefineExtraOptions(QLayout*) override;
    void StepEffect(ControllerZone* const controller_zone) override;
//    void LoadCustomSettings(json) override;
//    json SaveCustomSettings(json) override;

//private slots:
//    void on_background_ColorSelected(QColor);

private:
    //Ui::MotionPoint *ui;

    RGBColor GetColor(unsigned int, unsigned int, double);

    double progress = 0.f;
    RGBColor background = ColorUtils::OFF();
    RGBColor current = ColorUtils::OFF();

};

#endif // MOTIONPOINT_H
